/*
This file is part of project qttraylauncher.
*/

#ifndef TRAYLAUNCHER_H
#define TRAYLAUNCHER_H

#include <QDialog>
#include <QSystemTrayIcon>
#include <QMessageBox>
#include <QMenu>
#include <QApplication>
#include <QSettings>
#include <QTranslator>
#include <QLocale>
#include <QLibraryInfo>
#include <QProcess>
#include <QIcon>
#include <QAction>
#include <QApplication>
#include <QCloseEvent>
#include <QTabWidget>
#include <QPushButton>
#include <QComboBox>
#include <QVBoxLayout>
#include <QLabel>
#include <QMessageBox>
#include <QJsonDocument>
#include <QJsonArray>
#include <QJsonObject>
#include <QFile>
#include <QStringList>
#include<QtGlobal>
#include <QTextStream>
#include <QDebug>
#include <Qt>
#include <QSettings>

#define PROGNAME "qttraylauncher"

class Dialog : public QDialog
{
    Q_OBJECT

public:
    bool stdwinapp;
    QSystemTrayIcon trayIcon;
    QMenu *trayIconMenu;


    Dialog(QWidget *parent = 0);
    ~Dialog();
    void setVisible(bool visible);
    void closeEvent(QCloseEvent *event);
    void initPanel();
    void writeSettings();
    void readSettings();

private:
    QAction *minimizeAction;
    QAction *maximizeAction;
    QAction *restoreAction;
    QAction *clearAction;
    QAction *aboutAction;
    QAction *aboutQtAction;

private slots:
    void iconActivated(QSystemTrayIcon::ActivationReason reason);
    void aboutMe();
    void aboutQt();
    void clearSettings();
    void buttonClicked();

};

#endif // TRAYLAUNCHER_H
